local ctcCap = 102.4;
local missCoef = 5;
local critBlockReduction = 20;
local holdTheLineAdd = 10;
local shieldBlockAdd = 25;
local avoidCh = GetDodgeChance() + GetParryChance() + missCoef;
local blockCh = GetBlockChance();
local ctc = avoidCh+blockCh;
local criticalBlock = blockCh-critBlockReduction;
if (UnitBuff("player", "Hold the line")) then
    criticalBlock = criticalBlock + holdTheLineAdd;
end
if (UnitBuff("player", "Shield Block")) then
	if (ctc > ctcCap) then
		local ctcLeftOver = ctc-ctcCap;
		criticalBlock = criticalBlock + ctcLeftOver - shieldBlockAdd;
	end
end
local ctcString = string.format("%.2f",ctc).."%\n"..string.format("%.2f",criticalBlock).."%";
if (ctc<ctcCap) then
	return ":(\n"..ctcString,700,1,0,1,0,0,1;
else
	return ":)\n"..ctcString,700,1,5,0,1,0,1;
end